উদাহরণ সহ SQL Script Integration

Java Technologies - স্প্রিং জেডিবিসি (Spring JDBC) Spring JDBC এবং SQL Script Integration |
163
163

Spring JDBC-তে SQL স্ক্রিপ্ট ইন্টিগ্রেশন ডেটাবেস ইনিশিয়ালাইজেশন, টেবিল তৈরি, এবং ডেটা ইনসার্ট করার জন্য অত্যন্ত কার্যকর। এটি সাধারণত ডেটাবেস স্কিমা সেটআপ এবং ডিফল্ট ডেটা লোড করার জন্য ব্যবহৃত হয়। Spring ফ্রেমওয়ার্ক সরাসরি SQL ফাইলগুলো থেকে এই কাজটি করতে পারে।


Spring JDBC দিয়ে SQL Script Integration এর প্রধান ধাপগুলো:

  1. SQL স্ক্রিপ্ট প্রস্তুত করা
  2. Spring Configuration সেটআপ করা
  3. JdbcTemplate বা ResourceDatabasePopulator ব্যবহার করে SQL স্ক্রিপ্ট চালানো
  4. Spring Boot প্রজেক্টে SQL স্ক্রিপ্ট ইন্টিগ্রেশন (অতিরিক্ত ফিচার)

ধাপ ১: SQL স্ক্রিপ্ট প্রস্তুত করা

একটি .sql ফাইল তৈরি করুন এবং এতে আপনার প্রয়োজনীয় SQL স্টেটমেন্ট যুক্ত করুন।

schema.sql:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    department VARCHAR(50)
);

CREATE TABLE departments (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

INSERT INTO departments (id, name) VALUES (1, 'IT');
INSERT INTO departments (id, name) VALUES (2, 'HR');

ধাপ ২: Spring Configuration সেটআপ করা

Java Configuration Example:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;

import javax.sql.DataSource;

@Configuration
public class AppConfig {

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/mydb");
        dataSource.setUsername("root");
        dataSource.setPassword("password");
        return dataSource;
    }

    @Bean
    public JdbcTemplate jdbcTemplate(DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean
    public void initializeDatabase(DataSource dataSource) {
        ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator();
        databasePopulator.addScript(new ClassPathResource("schema.sql"));
        databasePopulator.execute(dataSource);
    }
}

ধাপ ৩: JdbcTemplate দিয়ে SQL স্ক্রিপ্ট চালানো

JdbcTemplate ব্যবহার করে সরাসরি SQL স্ক্রিপ্ট থেকে কোয়েরি চালানো যায়।

উদাহরণ:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

@Service
public class SQLScriptService {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public void runScript() {
        String sql = "CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), department VARCHAR(50));";
        jdbcTemplate.execute(sql);
    }
}

Spring Boot ব্যবহার করে SQL Script Integration

Spring Boot সরাসরি schema.sql এবং data.sql ফাইলগুলো থেকে ডাটাবেস ইনিশিয়ালাইজ করতে পারে।

ধাপসমূহ:

  1. src/main/resources ফোল্ডারে schema.sql এবং data.sql ফাইল তৈরি করুন।

schema.sql:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    department VARCHAR(50)
);

data.sql:

INSERT INTO employees (id, name, department) VALUES (1, 'John Doe', 'IT');
INSERT INTO employees (id, name, department) VALUES (2, 'Jane Smith', 'HR');
  1. Spring Boot প্রজেক্ট চালানোর সময় এই স্ক্রিপ্টগুলো স্বয়ংক্রিয়ভাবে চালানো হবে।

Application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.initialization-mode=always

Spring Boot SQL Script Execution Validation

আপনার ডেটাবেসে ডেটা সঠিকভাবে লোড হয়েছে কি না তা যাচাই করতে একটি সিম্পল কোড লিখতে পারেন।

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

@Service
public class EmployeeService {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public void fetchEmployees() {
        String query = "SELECT * FROM employees";
        jdbcTemplate.query(query, (rs, rowNum) -> {
            System.out.println("ID: " + rs.getInt("id"));
            System.out.println("Name: " + rs.getString("name"));
            System.out.println("Department: " + rs.getString("department"));
            return null;
        });
    }
}

Spring JDBC দিয়ে SQL Script Integration এর সুবিধা:

  1. ডেটাবেস স্কিমা এবং ডেটা ম্যানেজমেন্ট সহজ।
  2. schema.sql এবং data.sql-এর মাধ্যমে অটোমেটেড ইনিশিয়ালাইজেশন।
  3. ট্রানজেকশন ম্যানেজমেন্ট এবং ফ্লেক্সিবিলিটি।
  4. ছোট ও মাঝারি প্রকল্পের জন্য কার্যকর।

উপসংহার:

Spring JDBC দিয়ে SQL স্ক্রিপ্ট ইন্টিগ্রেশন ডেটাবেস ইন্টিগ্রেশন এবং ইনিশিয়ালাইজেশনের জন্য একটি কার্যকর পদ্ধতি। Spring Boot এর ক্ষেত্রে এটি আরও সহজ, কারণ Spring নিজে থেকেই স্ক্রিপ্টগুলো হ্যান্ডেল করে।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion